package com.atguigu.spzx.product.service;

import com.atguigu.spzx.product.dto.ProductSkuDetailRespDto;
import com.atguigu.spzx.product.dto.SkuSaleNumUpdateReqDto;
import com.atguigu.spzx.product.entity.Product;
import com.atguigu.spzx.product.vo.ProductDetailsRespVo;
import com.atguigu.spzx.product.vo.ProductSkuQueryReqVo;
import com.atguigu.spzx.product.vo.ProductSkuQueryRespVo;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

import java.util.List;

public interface ProductService {
    /**
     * 分页查询
     * @param pageParam
     * @param vo
     * @return
     */
    Page<ProductSkuQueryRespVo> getProductPageByQuery(Page<Product> pageParam, ProductSkuQueryReqVo vo);

    /**
     * 商品详情
     * @param skuId
     * @return
     */
    ProductDetailsRespVo getProductSkuBySkuId(Long skuId);

    /**
     * 根据skuId查询sku信息
     * @param skuId
     * @return
     */
    ProductSkuDetailRespDto getProductSkuDtoBySkuId(Long skuId);

    /**
     * 更新商品sku销量
     * @param skuSaleNumUpdateReqDtoList
     */
    void updateSkuSaleNum(List<SkuSaleNumUpdateReqDto> skuSaleNumUpdateReqDtoList);
}
